Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

use localised, gitignored optimism-temporary directory for genesis validation #507

Merged
merged 1 commit into from
Aug 28, 2024

Conversation

geoknee
Copy link
Collaborator

@geoknee geoknee commented Aug 23, 2024

⚠️ base is #489

@geoknee geoknee marked this pull request as ready for review August 26, 2024 07:14
@geoknee geoknee requested a review from a team as a code owner August 26, 2024 07:14
@geoknee geoknee requested review from refcell and vdamle and removed request for a team and refcell August 26, 2024 07:14
@geoknee geoknee merged commit 1365e25 into gk/gen-val-met Aug 28, 2024
9 of 12 checks passed
@geoknee geoknee deleted the gk/gen-val-ci branch August 28, 2024 11:19
geoknee added a commit that referenced this pull request Sep 2, 2024
commit cbc662a
Merge: 3787211 70e9dbc
Author: geoknee <[email protected]>
Date:   Fri Aug 30 16:18:49 2024 +0100

    Merge remote-tracking branch 'origin/main' into gk/gen-val-met

commit 3787211
Author: George Knee <[email protected]>
Date:   Fri Aug 30 15:40:42 2024 +0100

    remove temporarily added chains (#535)

    * git restore --source=main -- superchain

    * just codegen

    * just lint-all

    * lint

    * typo

commit 7d3ed21
Author: George Knee <[email protected]>
Date:   Fri Aug 30 15:06:02 2024 +0100

    use dynamic config building in CI (#534)

    * use dynamic config building in CI

    This works by having a small workflow run, compute the list of chain ids to run genesis validation checks on, and then modify a subsequent config file which circleci then runs.

    * add comment

    * fan in

    * fix

    * fix script

    * Update .circleci/continue_config.yml

    Co-authored-by: Vinod Damle <[email protected]>

    ---------

    Co-authored-by: Vinod Damle <[email protected]>

commit c7e50fe
Author: geoknee <[email protected]>
Date:   Fri Aug 30 11:24:10 2024 +0100

    add testGenesisAllocsMetadata

commit fa01d6b
Author: geoknee <[email protected]>
Date:   Fri Aug 30 11:01:45 2024 +0100

    rename commands

commit b8ba6a4
Author: geoknee <[email protected]>
Date:   Fri Aug 30 11:00:37 2024 +0100

    rename test

commit 6fafbe4
Author: geoknee <[email protected]>
Date:   Thu Aug 29 23:11:24 2024 +0100

    tidy up test script

commit b3fcdb2
Author: geoknee <[email protected]>
Date:   Thu Aug 29 22:57:02 2024 +0100

    remove temporary directory after tests run

commit 4cbf389
Author: geoknee <[email protected]>
Date:   Thu Aug 29 22:50:08 2024 +0100

    dedupe perChainTestName

commit 4ebaafc
Author: geoknee <[email protected]>
Date:   Thu Aug 29 22:28:25 2024 +0100

    improve naming of ci steps

commit 732260c
Author: geoknee <[email protected]>
Date:   Thu Aug 29 18:39:19 2024 +0100

    harmonize op-geth version

commit ae24ca1
Author: geoknee <[email protected]>
Date:   Thu Aug 29 18:36:42 2024 +0100

    just tidy-all

commit 46c9ec1
Merge: b01525b 936d40b
Author: geoknee <[email protected]>
Date:   Thu Aug 29 18:36:21 2024 +0100

    Merge remote-tracking branch 'origin/main' into gk/gen-val-met

commit b01525b
Author: George Knee <[email protected]>
Date:   Thu Aug 29 18:33:39 2024 +0100

    Get genesis validation checks to run on CI (#529)

    * switch to cimg/go:1.22.6-node docker image for genesis validation

    * remove set -e

    (nvm.sh exits with code 3, we can apparently just ignore that)

    * use bash instead of sh

    * use . instead of source

    * install pnpm

    * move optimism-temporary out from under superchain-registry

    this seems to make go module resolution work as expected

    * do not allow validate-genesis to timeout

    * improve pipefail behaviour

    we allow the scripts which load nvm and gvm to fail

    * just lint-all

    * remove all set -e behaviour

    gives highest chance that validation can succeed

    * stream output from test

    helps with debugging, prevents timeouts on circleci

    * try running as a matrix

    * add base and base sepolia to genesis validation list (#530)

    * add base sepolia to genesis validation list

    * add base mainnet to genesis validation list

    * Add validation metadata for Lisk mainnet + testnet (#531)

    * temp:  gk/genadd lisk mainnet (revertme)

    * add lisk metadata for genesis validation

    * temp: add lisk sepolia (revertme)

    * add genesis validation metadata for lisk sepolia

    * Update .circleci/config.yml

    * add comment

commit 1365e25
Author: George Knee <[email protected]>
Date:   Wed Aug 28 12:19:48 2024 +0100

    use localised, gitignored optimism-temporary directory for genesis validation purposes (#507)

commit 6793309
Author: George Knee <[email protected]>
Date:   Sat Aug 24 17:32:53 2024 +0100

    Enhance `add-chain` tool to capture deploy config and monorep commit information  (#504)

    * add-chain: ingest and store deploy-config and genesis-creation commit

    * remove genesis-system-configs dir

    we no longer use this

    * add test data for deploy-config

    * check errs properly

    * link validation to add-chain

    * fix up add-chain e2e tests

    * simplify test side effect handling

    * don't bother cleaning up -test genesis validation inputs

    (They now don't end up bound into the validation package)

    * tweak spacing

    * prefer os.ModePerm over 0o777

    * typo

    * typo

    * remove unused params

    * use commented constants for metadata defaults

    * fix clean-add-chain cmd

commit bae89c0
Author: George Knee <[email protected]>
Date:   Thu Aug 22 13:35:38 2024 +0100

    Get mode, metal and zora genesis.allocs validation working (#496)

    * introduce node_version

    need to reexamine writeDeploymentsLegacy

    * fix bug in writeDeploymentsLegacy

    * fix declaration of legacy deployments and add note

    * improve diff

    * use hardhat Deployment type to pad data and avoid unmarshaling errors

    e.g. on mode

    * fix writeDeploymentsLegacy, mode now validates!

    * remove note

    * introduce  GenesisCreationCommand mapping

    allows metadata file to choose from a list and have chainId automatically injected into command

    * introduce BuilldCommand mapping

    * op sepolia validates

    * remove UseLegacyDeploymentsFormat

    * remove op mainnet metadata for now

    * remove op sepolia (it doesn't validate yet)

    * echo nvm version

    * just codegen

    * load nvm

    * fix

    * try installing nvm in a step

    * require node_version to be set

    * just lint-all

    * attempt to patch genesis creation source code

     to make validation work at a wider range of commits

    * adds metal metadata -- validates!

    * add zora metadata -- validates!

commit 11982b8
Author: geoknee <[email protected]>
Date:   Tue Aug 20 13:33:49 2024 +0100

    introduce boolean switch for using legacy deployments format

commit 96b1810
Author: geoknee <[email protected]>
Date:   Tue Aug 20 13:29:39 2024 +0100

    linting

commit 6dbc88e
Author: geoknee <[email protected]>
Date:   Tue Aug 20 13:28:14 2024 +0100

    no need to install just

commit e28ca59
Author: geoknee <[email protected]>
Date:   Tue Aug 20 13:26:47 2024 +0100

    install nvm

commit ab4ceba
Author: geoknee <[email protected]>
Date:   Tue Aug 20 13:22:38 2024 +0100

    try removing source command

commit f5de7e7
Author: geoknee <[email protected]>
Date:   Tue Aug 20 13:14:32 2024 +0100

    introduce monorepoBuildCommand artifact

commit 0516b9e
Author: geoknee <[email protected]>
Date:   Tue Aug 20 13:03:17 2024 +0100

    4801 passes

commit d1fbbaa
Author: geoknee <[email protected]>
Date:   Tue Aug 20 13:01:19 2024 +0100

    add nvm

commit ab1b6e8
Author: geoknee <[email protected]>
Date:   Tue Aug 20 12:46:50 2024 +0100

    change format of genesis creation command

commit ccbe3da
Author: geoknee <[email protected]>
Date:   Tue Aug 20 12:00:38 2024 +0100

    some small fixes

    chain 480 passes!

commit 65a80dd
Author: geoknee <[email protected]>
Date:   Tue Aug 20 11:38:47 2024 +0100

    add worldchain

commit d1aa945
Author: geoknee <[email protected]>
Date:   Tue Aug 20 11:29:17 2024 +0100

    add sepolia/worldcoin

commit 4b4ab94
Author: geoknee <[email protected]>
Date:   Tue Aug 20 11:24:05 2024 +0100

    fix ci config

commit 858d754
Author: geoknee <[email protected]>
Date:   Mon Aug 19 19:27:47 2024 +0100

    undo accidental changes

commit f99b396
Author: geoknee <[email protected]>
Date:   Mon Aug 19 19:21:40 2024 +0100

    add genesis predeploy test, validation metadata for chains 10,34443 and wire up

commit 5ec1a6f
Author: geoknee <[email protected]>
Date:   Mon Aug 19 17:49:46 2024 +0100

    fix go.work version declaration
geoknee added a commit that referenced this pull request Sep 2, 2024
geoknee added a commit that referenced this pull request Sep 2, 2024
geoknee added a commit that referenced this pull request Sep 3, 2024
* fix go.work version declaration

* add genesis predeploy test, validation metadata for chains 10,34443 and wire up

* undo accidental changes

* fix ci config

* add sepolia/worldcoin

* add worldchain

* some small fixes

chain 480 passes!

* change format of genesis creation command

* add nvm

* 4801 passes

* introduce monorepoBuildCommand artifact

* try removing source command

* install nvm

* no need to install just

* linting

* introduce boolean switch for using legacy deployments format

* Get mode, metal and zora genesis.allocs validation working (#496)

* introduce node_version

need to reexamine writeDeploymentsLegacy

* fix bug in writeDeploymentsLegacy

* fix declaration of legacy deployments and add note

* improve diff

* use hardhat Deployment type to pad data and avoid unmarshaling errors

e.g. on mode

* fix writeDeploymentsLegacy, mode now validates!

* remove note

* introduce  GenesisCreationCommand mapping

allows metadata file to choose from a list and have chainId automatically injected into command

* introduce BuilldCommand mapping

* op sepolia validates

* remove UseLegacyDeploymentsFormat

* remove op mainnet metadata for now

* remove op sepolia (it doesn't validate yet)

* echo nvm version

* just codegen

* load nvm

* fix

* try installing nvm in a step

* require node_version to be set

* just lint-all

* attempt to patch genesis creation source code

 to make validation work at a wider range of commits

* adds metal metadata -- validates!

* add zora metadata -- validates!

* Enhance `add-chain` tool to capture deploy config and monorep commit information  (#504)

* add-chain: ingest and store deploy-config and genesis-creation commit

* remove genesis-system-configs dir

we no longer use this

* add test data for deploy-config

* check errs properly

* link validation to add-chain

* fix up add-chain e2e tests

* simplify test side effect handling

* don't bother cleaning up -test genesis validation inputs

(They now don't end up bound into the validation package)

* tweak spacing

* prefer os.ModePerm over 0o777

* typo

* typo

* remove unused params

* use commented constants for metadata defaults

* fix clean-add-chain cmd

* use localised, gitignored optimism-temporary directory for genesis validation purposes (#507)

* Get genesis validation checks to run on CI (#529)

* switch to cimg/go:1.22.6-node docker image for genesis validation

* remove set -e

(nvm.sh exits with code 3, we can apparently just ignore that)

* use bash instead of sh

* use . instead of source

* install pnpm

* move optimism-temporary out from under superchain-registry

this seems to make go module resolution work as expected

* do not allow validate-genesis to timeout

* improve pipefail behaviour

we allow the scripts which load nvm and gvm to fail

* just lint-all

* remove all set -e behaviour

gives highest chance that validation can succeed

* stream output from test

helps with debugging, prevents timeouts on circleci

* try running as a matrix

* add base and base sepolia to genesis validation list (#530)

* add base sepolia to genesis validation list

* add base mainnet to genesis validation list

* Add validation metadata for Lisk mainnet + testnet (#531)

* temp:  gk/genadd lisk mainnet (revertme)

* add lisk metadata for genesis validation

* temp: add lisk sepolia (revertme)

* add genesis validation metadata for lisk sepolia

* Update .circleci/config.yml

* add comment

* just tidy-all

* harmonize op-geth version

* improve naming of ci steps

* dedupe perChainTestName

* remove temporary directory after tests run

* tidy up test script

* rename test

* rename commands

* add testGenesisAllocsMetadata

* use dynamic config building in CI (#534)

* use dynamic config building in CI

This works by having a small workflow run, compute the list of chain ids to run genesis validation checks on, and then modify a subsequent config file which circleci then runs.

* add comment

* fan in

* fix

* fix script

* Update .circleci/continue_config.yml

Co-authored-by: Vinod Damle <[email protected]>

---------

Co-authored-by: Vinod Damle <[email protected]>

* remove temporarily added chains (#535)

* git restore --source=main -- superchain

* just codegen

* just lint-all

* lint

* typo

* enhance comment

* swap op-node1 and op-node2

to retain chronological ordering

* add explainer about parallelism

* modify message in genesis-allocs-all-ok

* simplify patch file

* tweak go version in golang-validate-genesis-allocs job

* remove the test artifacts written to validationInputsDir

* don't forget we swapped opnode1<>opnode2

* fix another opnode1<>opnode2 permutation

* Revert "simplify patch file"

This reverts commit 9b7f6d8.

* fix op-node1/2 err

* add note about gvm

---------

Co-authored-by: Vinod Damle <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant